บริษัททำเว็บไซต์ allmediastudio

aticle : WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้...

2017-02-10 | 10044 View

WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้อมูลแบบ Real Time ด้วย PHP ในหัวข้อนี้เราจะมาเรียนรู้กับ WebSocket ว่ามันคืออะไร ทำหน้าที่ และ มีประโยชน์อย่างไร?? สำหรับ WebSockets ไม่ใช่ของใหม่ แต่มันมีมาหลายปี แต่ไม่อาจจะไม่ค่อยได้รับความนิยมเท่าไหร่ ส่วนหนึ่งเพราะ Web ที่เราพัฒนาทั่วๆ ไป ไม่จำเป็นจะต้องใช้ WebSocket และการใช้งานจริงบน Web Hosting อาจจะใช้งานจริงไม่ได้ ฉะนั้นจะมีเฉพาะบางเว็บเท่านั้นที่จำเป็นจะต้องใช้งาน เช่น เว็บประเภท Chat , Vote , Bid เป็นต้น เพราะเว็บหล่านี้ต้องการข้อมูลที่รวดเร็ว Real time ในทันที และการรับ-ส่งข้อมูลจาก Client ไปยัง Server และจาก Server ไปยัง Client ต่างๆ นั้นมีประสิทธิภาพสูงสุด 



รูปแบบการทำงานของ PHP WebSocket


หน้าที่ของ WebSokets คือ จะรัน Service ที่ทำหน้าที่เป็น Protocol ที่ฝั่ง Server เมื่อมี Client ทำการเชื่อมต่อเข้ามา เจ้า Services ตัวนี้ก็จะติดตาม Client ไปอย่างใกล้ชิดเพื่อตรวจสอบว่า Client ยังทำการเชื่อมต่อและพร้อมที่จะ รับ-ส่ง ข้อมูลให้ตลอดเวลา โดยที่ไม่จำเป็นว่าฝั่ง Client จะมีการ Request มาหรือไม่ ฉะนั้นเมื่อฝั่ง Server มีข้อมูลมาใหม่ๆ ตัว Services นี้ก็จะทำหน้าที่ Push ข้อมูลเพื่อส่งให้กับทุกๆ Client ที่เชื่อมต่ออยู่ในขณะนั้น ซึ่งมันเองสามารถที่จะตรวจสอบได้ว่า มี Client อะไรบ้างที่กำลังทำการเชื่อมต่ออยู่

ซึ่งแตกต่างกับการ Request จาก Client โดยทั่วๆ ไป ที่เราจะต้องใช้ Client ทำการ Request ส่ง Post หรือ Get ไปยัง Server และ Server ก็จะทำการ Response ค่ากลับมา และ Server ก็จะไม่มีทางรู้ว่า Client ได้ทำการปิดการเชื่อมต่อไปแล้วหรือยัง ซึ่งจะรู้ได้แค่อย่างเดียวว่า Session ได้ Timeout ไปแล้ว



รูปแบบการเชื่อมต่อแบบปกติทั่วๆ ไป ที่มี Request และ Response กลับมา


จากรูปแรกจะเห็นว่าสีที่แตกต่างกัน หมายถึง Client ทำการเชื่อมต่อแต่ล่ะครั้งก็จะได้ Response กลับมา 1 ครั้งเท่านั้น




รูปแบบการทำงานของ WebSockets


การทำงานของ WebSockets จะแตกต่างกันที่ เมื่อมี Client ใดๆ ทำการเชื่อมต่อไปยัง Server ในฝั่งของ Server จะมี Services ที่ทำงานอยู่ตลอดเวลา ซึ่งจะส่ง Push หรือ Response กลับไปยังทุก ๆ Client ที่เชื่อมต่ออยู่ในขณะนั้น ซึ่ง Client ก็จะได้รับค่าพร้อมกันหมด




รูปแบบการทำงานของ WebSockets


จากภาพนี้จะเห็นว่าทุก ๆ Client จะทำการเชื่อมต่อกับ Server ด้วย Process เล็กๆ ที่ทำหน้าที่ตรวจสอบสถานะการเชื่อมต่อ แต่เมื่อมีข้อมูลใหม่ๆ ที่ฝั่ง Server ก็จะทำการ Push ค่าเพื่อส่งไปยังทุก ๆ Client อย่างรวดเร็ว

ในการเขียน PHP WebSockets นั้นจะแตกต่างกันการเขียนเว็บทั่วๆ ไปคือ ในฝั่งของ Server จะต้องทำการ Run Service ที่ทำหน้าที่เป็น Protocol TCP connection ที่ระบุ Port ในการเชื่อมต่อกับ Client ฉะนั้นในข้อกำหนดนี้จะต้องมีการรัน Services ทิ้งไว้ ซึ่งจะเป็นข้อกำกัดในการใช้งานเมื่อนำไปใช้กับ Shared Hosting ทั่วๆ ไป

และการใช้งานจะต้องดาวน์โหลดหรือติดตั้ง PHP Library ซึ่งในปปัจจุบันมีรองรับให้ตัวอาทิเช่น



ข้อดีของการใช้ Library คือ มี Class และ function ต่างๆ ที่ได้ออกแบบและเขียนมาเป็นอย่างดี เราสามารถเรียกใช้งานได้ง่ายๆ โดยไม่ต้องมานั่งจัดการกับ Server Script และ Client Script และแน่นอนว่า Library ต่างๆ เหล่านี้มีการเปิดให้ดาวน์โหลดนำไปใช้งาน ซึ่งผ่านการพัฒนาหลายเวอร์ชั่น 


CR. thaicreate


สนใจทำเว็บไซต์
ปรึกษา ฟรี!
ขับเคลื่อนโดย Google แปลภาษาแปลภาษา Bookmark. Copy Clipboard Share WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้อมูลแบบ Real Time ด้วย PHP ในหัวข้อนี้เราจะมาเรียนรู้กับ WebSocket ว่ามันคืออะไร ทำหน้าที่ และ มีประโยชน์อย่างไร
FACEBOOK FANPAGE
ข่าวสารและบทความ อื่นๆ

สิ่งที่ควรรู้ก่อนจะทำเว็บไซต์

24-04-2016 | 8100 View

Lenovo เปิดตัว ZUK Z2 Pro สมาร์ทโฟนเรือธงรุ่นล่าสุ

23-04-2016 | 6733 View

เทคนิคการตั้งชื่อเว็บไซต์ 6 ข้อ สุดเทพ ไวต่อ SEO แ

22-04-2016 | 9087 View

Back office คืออะไร ?

22-04-2016 | 19402 View

5 ขั้นตอน ปรับ Firefox ให้เร็วลื่นดังใจ ทำง่าย ๆ ด้วยตัวเองและยำรวมคีย์ลัด Firefox

2022-08-26 | 1005 View

WebSocket ตอนที่ 1 : WebSocket คืออะไร การรับส่งข้

2017-02-10 | 10044 View